"""
检索模块 (Retrieval)

负责RAG系统的查询和检索功能。
提供统一的查询接口和智能检索能力。

重构后的模块结构：
- strategies.py: 检索策略定义
- retrievers.py: 检索器实现
- engine.py: 查询引擎核心
- query_engine.py: 统一接口和向后兼容
"""

# 检索策略模块
from .strategies import (
    RetrievalMode,
    ResponseMode,
    RetrievalConfig,
    RetrievalStrategy,
    RetrievalStrategyFactory,
    StandardRetrievalStrategy,
    SimilarityRetrievalStrategy,
    HybridRetrievalStrategy,
    SemanticRetrievalStrategy,
    KeywordRetrievalStrategy,
    create_default_config
)

# 检索器模块
from .retrievers import (
    CustomRetriever,
    MultiRetriever,
    AdaptiveRetriever
)

# 查询引擎核心模块
from .engine import (
    RAGQueryEngine as CoreRAGQueryEngine,
    QueryResult,
    RetrievalStats
)

# 统一接口模块
from .query_engine import (
    RAGQueryEngine,
    rag_engine,
    create_engine,
    create_custom_engine
)

__all__ = [
    # 枚举类型
    "RetrievalMode",
    "ResponseMode",

    # 配置类
    "RetrievalConfig",

    # 策略类
    "RetrievalStrategy",
    "RetrievalStrategyFactory",
    "StandardRetrievalStrategy",
    "SimilarityRetrievalStrategy",
    "HybridRetrievalStrategy",
    "SemanticRetrievalStrategy",
    "KeywordRetrievalStrategy",

    # 检索器类
    "CustomRetriever",
    "MultiRetriever",
    "AdaptiveRetriever",

    # 核心引擎类
    "CoreRAGQueryEngine",
    "QueryResult",
    "RetrievalStats",

    # 统一接口
    "RAGQueryEngine",
    "rag_engine",

    # 便捷函数
    "create_engine",
    "create_custom_engine",
    "create_default_config"
]